long test_one(unsigned long x) {
  unsigned long val = 0;
  while (x) {
    val ^= x;
    x >>= 1;
  }
  return val & 0x1;
}
/*
gcc -Og -S s6.parity.c
*/